package www.woniuxy.com.class112.service;

//import www.woniuxy.com.class112.entity.UserInfos;
import com.github.pagehelper.PageInfo;
import org.springframework.web.multipart.MultipartFile;
import www.woniuxy.com.class112.dto.QueryUserInformationDto;
import www.woniuxy.com.class112.entity.UserInfos;
import www.woniuxy.com.class112.param.AdminRegistrationParam;
import www.woniuxy.com.class112.param.ModifyUserInformationParam;
import www.woniuxy.com.class112.param.userInfo.*;

import java.io.IOException;
import java.util.List;

public interface UserInfoService {
    UserInfos userLogin(UserLoginParam toBean) throws Exception;

    void adminRegistration(AdminRegistrationParam param) throws Exception;

    void LoginVerificationCode(String phone) throws Exception;

    UserInfos loginWithPhoneNumber(LoginUserInfoCodeParam toBean) throws Exception;

    void registrationVerificationCode(String phone) throws Exception;

    void userMobileNumberRegistration(RegisterUserInfoCodeParam toBean) throws Exception;

    UserInfos superAdminLogin(UserLoginParam toBean) throws Exception;

    void superAdminVerificationCodeSending(String phone) throws Exception;

    UserInfos agentLogin(UserLoginParam toBean) throws Exception;

    UserInfos superAdminLoginCode(LoginUserInfoCodeParam toBean) throws Exception;

    void agentLoginCodeSending(String phone) throws Exception;

    UserInfos agentLoginCode(LoginUserInfoCodeParam toBean) throws Exception;

    UserInfos adminLogin(UserLoginParam toBean) throws Exception;

    List<UserInfos> selectUser();

    PageInfo<UserInfos> selectAdminAccout(SelectAdminAccoutParam param);

    void delistAccout(Long id)throws Exception;

    void enableAccout(Long id)throws Exception;

    void deleteAccout(Long id)throws Exception;

    void addAdminAccout(AddAccoutParam toBean) throws Exception;

    QueryUserInformationDto queryUserInformation(Long userId);

    void modifyUserInformation(ModifyUserInformationParam param, Long userId) throws Exception;

    void updateProfilePicture(MultipartFile file, Long userId) throws Exception;

    String searchForProfilePicture(Long userId);
}
